﻿/* Font Inclusion */
@font-face {
	font-family: 'Source Sans Pro';
	src: url('../../fonts/sourcesanspro-semibold-webfont.eot');
	src: url('../../fonts/sourcesanspro-semibold-webfont.woff2') format('woff2'),
		 url('../../fonts/sourcesanspro-semibold-webfont.woff') format('woff'),
		 url('../../fonts/sourcesanspro-semibold-webfont.ttf') format('truetype'),
		 url('../../fonts/sourcesanspro-semibold-webfont.svg#source_sans_prosemibold') format('svg');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Source Sans Pro';
	src: url('../../fonts/sourcesanspro-semiboldit-webfont.eot');
	src: url('../../fonts/sourcesanspro-semiboldit-webfont.woff2') format('woff2'),
		 url('../../fonts/sourcesanspro-semiboldit-webfont.woff') format('woff'),
		 url('../../fonts/sourcesanspro-semiboldit-webfont.ttf') format('truetype'),
		 url('../../fonts/sourcesanspro-semiboldit-webfont.svg#source_sans_proSBdIt') format('svg');
	font-weight: bold;
	font-style: italic;
}

@font-face {
	font-family: 'Source Sans Pro';
	src: url('../../fonts/sourcesanspro-it-webfont.eot');
	src: url('../../fonts/sourcesanspro-it-webfont.woff2') format('woff2'),
		 url('../../fonts/sourcesanspro-it-webfont.woff') format('woff'),
		 url('../../fonts/sourcesanspro-it-webfont.ttf') format('truetype'),
		 url('../../fonts/sourcesanspro-it-webfont.svg#source_sans_proitalic') format('svg');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Source Sans Pro';
	src: url('../../fonts/sourcesanspro-regular-webfont.eot');
	src: url('../../fonts/sourcesanspro-regular-webfont.woff2') format('woff2'),
		 url('../../fonts/sourcesanspro-regular-webfont.woff') format('woff'),
		 url('../../fonts/sourcesanspro-regular-webfont.ttf') format('truetype'),
		 url('../../fonts/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg');
	font-weight: normal;
	font-style: normal;
}
/* End Fonts */

* {
	box-sizing: border-box;
	margin: 0;
	max-width: 100%;
	padding: 0;
}

html {
	font-family: Source Sans Pro, Calibri, Arial, sans-serif;
	font-size: 13pt;
	height: 100%;
}

body {
	height: 100%;
	line-height: 1.25rem;
	min-width: 1280px;
	overflow-y: scroll;
	width: 100%;
}

body.scrollDisabled {
	position: fixed;
}

body.PUpage {
	min-width: 0; /* Just size it automatically in popups */
}

#content {
	position: relative;
	overflow: hidden; /* so that pseudo-element blur doesn't bleed over */
}
#content:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	transition: opacity .4s ease-in-out;
}

body.contentOnly,
body.contentOnly:after {
	background: none;
}

body.passthru {
	background: #FFF;
}
body.passthru #content:after{
	background: none;
}

body.passthru #main {
	background: #fdfdfd;
}

body.passthru #sidebar {
	background: #F5F6F6;
	border-left: 1px solid #ccc;
}

body.passthru #sidebar:before {
	box-shadow: 0 0 0;
}

body.passthru #main .back {
	display: none;
}
/* For dead-end workflows, we still need the back button */
body.passthru.md_benefitdetail #main .back {
	display: block;
}

 body.passthru.md_displayscans #main .back {
    display: block;
}

.fitme {
	display: block;
	position: relative;
}
.fitme.width {
	margin: 0 auto;
	min-width: 1280px;
	width: 75%;
}
.fitme.height {
	height: 100%;
}
.passthru .fitme.width,
.datatile .fitme.width,
.contentOnly .fitme.width {
	width: 100%;
}
.PUpage .fitme.width {
	min-width: 1022px;
}

.extraWide {
	max-width: none !important;
}

ul {
	list-style: outside none none;
}

ul.bulleted {
	list-style-type: disc;
	padding-left: 1rem;
}

ul.bulleted ul {
	list-style-type: circle;
}

ul.bulleted ul ul {
	list-style-type: square;
}

ul.twocolumn li {
	display: inline-block;
	vertical-align: top;
	width: 50%;
}

div {
	width: 100%;
}

strong {
	font-weight: bold;
}

a img {
	border: 0;
}

/* Header */
.printheader {
	display: none;
}

#header:not(:empty) {
	border: none;
	box-shadow: 0 0 0.6rem 0 rgba(0, 0, 0, 0.25);
	height: 5.5rem;
	min-width: 1280px;
	padding: 0.5rem 0 0;
	position: relative;
	width: 100%;
	z-index: 10;
}

#header:not(:empty) .headeritem {
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

/* Main Content */
#content {
	min-height: 400px;
}

#main,
#sidebar {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

#main {
	padding: 0.5rem 1.25rem;
	width: 100%;
	z-index: 5;
}

#main.withSidebar {
	border: none;
}

#sidebar {
	font-size: 0.9rem;
	width: 20%;
	z-index: 1;
}

#sidebar:before {
	box-shadow: 0.6rem 0 0.6rem -0.6rem rgba(0, 0, 0, 0.125) inset;
	content: " ";
	display: inline-block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

#footer,
#footer a {
	transition: color .3s ease-in-out;
}

#footer .mainStyle {	
	display: inline-block;
	padding: 0 1.25rem 0.5rem;
	vertical-align: bottom;
}

#footer .sidebarStyle {
	display: inline-block;
	padding: 0 1rem 0.5rem;
	vertical-align: bottom;
}

#localeswitch {
	height: 1.25rem;
	position: relative;
	text-align: right;
}

#localeswitch .dropdown {
	display: inline-block;
	position: relative;
	width: auto;
	z-index: 1;
}

#localeswitch .dropdown #morelocales {
	background: rgba(255, 255, 255, 0.98) none repeat scroll 0 0;
	border: none;
	box-shadow: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.25);
	padding: 0.5rem;
	position: relative;
	text-align: left;
	width: 225%;
	-webkit-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
}

#localeswitch .drowdownSelector {
	margin: 0 0 0 0.2rem;
}

#localeswitch .dropdown #morelocales.localeHide {
	display: none;
}

#localeswitch .dropdown #morelocales.localeShow {
	display: block;
}

#localeswitch .dropdown #morelocales li {
	padding: 0.25rem 0.5rem;
}

#localeswitch .localeImg {
	margin: 0 0.2rem;
}

#localeswitch .localeImg,
#localeswitch .localename,
#localeswitch .abbreaviatedname,
#localeswitch .drowdownSelector {
	display: inline-block;
	vertical-align: middle;
}

#localeswitch .abbreaviatedname {
	display: none;
}

/* Layout */
.section {
	margin: 0;
	padding: 0;
}

.section .content {
	margin: 0.5rem 0;
	padding: 0;
}

.section.indented {
	margin: 1rem 0;
}

.section.indented > .header {
	width: 15%;
	display: inline-block;
	vertical-align: top;
	margin-right: 5%;
}

.section.indented > .content {
	width: 80%;
	display: inline-block;
	vertical-align: top;
}

/* Text Elements */
h1,
h2,
h3,
h4,
.header,
.sectionheader,
.formsection > legend {
	display: block;
	font-weight: normal;
	padding: 0.75rem 0 0.5rem;
	width: 100%;
}
h1.header,
.header.large {
	font-size: 1.5rem;
	line-height: 1.5rem; /* Default line-height is only 1.25rem, so we need to go bigger */
}
h2.header,
.header.medium {
	font-size: 1.25rem;
}
h3.header,
.header.small {
	font-size: 1.1rem;
}
h4.header,
.header.tiny {
	font-size: 1rem;
}
h1.compact,
h2.compact,
h3.compact,
h4.compact,
.header.compact,
.sectionheader.compact,
.formsection > legend.compact {
	padding: 0;
}

p {
	margin: 0.5rem 0;
}
p:first-of-type {
	margin-top: 0;
}
p:last-of-type {
	margin-bottom: 0;
}
p:empty {
	margin: 0;
}

a {
	text-decoration: none;
}
a:focus,
a:hover {
	text-decoration: underline;
}
.membertab a:focus,
.membertab a:hover,
.card.hover a:focus,
.card.hover a:hover,
.list.hoverable a:focus,
.list.hoverable a:hover {
	text-decoration: none;
}

dl {
	margin: 0 0 1rem;
}

dl dt {
	font-weight: bold;
}

.subtle {
	font-size: 0.8rem;
	line-height: 1rem;
}

.header + .helptext.subtle {
	margin: -0.5rem 0 0.75rem;
}

.newline:before {
	content: "";
	display: block;
	width: 100%;
}

.required:before {
	border-style: solid solid none none;
	border-width: 0.5rem 0.5rem 0 0;
	content: "";
	display: inline-block;
	height: 0;
	margin: 0 0.125rem 0 0;
	vertical-align: top;
	width: 0;
}
p.required:before,
span.required:before,
label.required:before,
legend.required:before {
	margin-left: -0.625rem; /* 0.25rem width + 0.25rem border-left + 0.125rem margin-right */
}
.clearlabel.required:before {
	margin-left: 0;
}

/* Titles */
#main .title {
	height: 3.5rem;
	position: relative;
	vertical-align: bottom;
	width: 100%;
}

#main .maintitle > .title > *,
#main > .title > * {
	display: inline-block;
	vertical-align: bottom;
}

#main .title h1 {
	overflow: hidden;
	padding: 0.7rem 5rem 0.5rem 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#main .title #assistiveicons {
	text-align: right;
	margin: 0 0 0 -5rem;
	padding: 0.7rem 0.5rem 0;
	width: 5rem;
}
#main .title #assistiveicons:only-child {
	margin: 0;
	width: 100%;
}

#main .title .assistiveicon,
#sidebar img.assistiveicon {
	display: inline-block;
	width: 2rem;
}

#main .title img.assistiveicon,
#sidebar .assistiveicon {
	padding: 0 0 0 0.125rem;
}

#main .title .headerlink {
	position: absolute;
	right: 0.5rem; /* This and top should match the .title padding */
	top: 0.7rem;
	width: auto;
}

#main .title .headerlink .button {
	margin: 0;
}

#main .title .right {
	height: 100%;
	margin: 0 0 0 -10rem;
	padding: 2.75rem 0 0;
	width: 10rem;
}

/* Vertically align some text and the thing after it */
.annotatedText {
	margin-right: 0.125rem;
}
.annotatedText.cozy {
	margin-right: 0;
}

.annotatedText,
.annotatedText + a,
.annotatedText + div,
.annotatedText + img,
.annotatedText + span {
	display: inline;
	vertical-align: top;
}
.annotatedText.middle,
.annotatedText.middle + a,
.annotatedText.middle + div,
.annotatedText.middle + img,
.annotatedText.middle + span {
	vertical-align: middle;
}

/* Input Forms */
.formsection {
	margin: 0.75rem 0;
}

#captchaForm .formsection {
	margin: 2.5rem 0 0 0;
}

#captchaForm .formcontents {
	margin-top: -2.5rem;
}

.formsection:first-child {
	margin: 0 0 0.75rem;
}
.formsection:last-child {
	margin: 0.75rem 0 0;
}
.formsection.halfwidth:first-child + .formsection.halfwidth { /* If we shortened the first, shorten the second */
	margin: 0 0 0.75rem;
}
.formsection.halfwidth + .formsection:not(.halfwidth) { /* Moving from inline-block back to block won't collapse margins like normal */
	margin: 0 0 0.75rem;
}

.formsection.halfwidth {
	display: inline-block;
	vertical-align: top;
	width: 50%;
}

.formsection.halfwidth input,
.formsection.halfwidth select,
.formsection.halfwidth textarea {
	width: 60%;
}

.formsection.withSeparator {
	border-style: none none solid;
	border-width: 0 0 1px;
	padding: 0 0 0.5rem;
}
.formsection.withSeparator:last-child {
	border-style: none;
	border-width: 0;
}

.formsection.formbuttons {
	padding: 0.5rem 0;
}

.formsection .formrow {
	margin: 0 0 1.125rem;
}
.formsection .formrow:last-child {
	margin: 0;
}

.formsection .formcolumn {
	display: inline-block;
	margin: 0 0.5%;
	vertical-align: top;
}
.formsection .formcolumn:first-of-type {
	margin-left: 0;
}
.formsection .formcolumn:last-of-type {
	margin-right: 0;
}
.formsection.column_2 .formcolumn {
	width: 49.5%;
}
.formsection.column_2 .formcolumn.double {
	width: 100%;
}
.formsection.column_3 .formcolumn {
	width: 32.66%;
}
.formsection.column_3 .formcolumn.double {
	width: 66.33%;
}
.formsection.column_3 .formcolumn.triple {
	width: 100%;
}
.formsection.column_4 .formcolumn {
	width: 24.25%;
}
.formsection.column_4 .formcolumn.double {
	width: 49.5%;
}
.formsection.column_4 .formcolumn.tripe {
	width: 74.75%;
}

.formsection fieldset {
	margin: 0;
	padding: 0;
}

.formsection fieldset.multifield input, 
.formsection fieldset.multifield select, 
.formsection fieldset.multifield textarea {
	display: inline-block;
	margin: 0 0.25rem 0.5rem 0;
	vertical-align: top;
}

.formsection fieldset.multifield label {
	margin: 0.25rem 0 0.75rem 0.5rem;
}

.formsection fieldset.multifield .inlinelabel + select {
	width: auto;
}

.formsection .alert:not(:empty):before {
	border-color: transparent transparent transparent #DF004F;
	border-style: solid;
	border-width: 0.5em 0 0.5em 0.5em;
	
	content: "";
	display: inline-block;
	height: 0;
	margin: 0 0.125em 0 0;
	vertical-align: top;
	width: 0;
}

/* Input Elements */
input,
select,
textarea {
	border: 1px solid #DBDBDB;
	display: block;
	font-family: Source Sans Pro, Calibri, Arial, sans-serif;
	font-size: 1.125rem;
	line-height: 1.5rem;
	margin: 0 0 0.5rem;
	padding: 0.25rem;
	
	/* Needed to make these look good on mobile webkit browsers */
	border-radius: 0;
}
input[type="button"],
input[type="submit"],
input[type="text"],
textarea {
	/* Needed to make these look good on mobile webkit browsers */
	-webkit-appearance: none;
}

optgroup { /* For some reason, this doesn't inherit its font from the select */
	font-family: Source Sans Pro, Calibri, Arial, sans-serif;
}

select,
input[type='text'],
input[type='password'],
textarea.halfwidth {
	min-width: 50%;
}

input#twofactorcode {
	min-width: 0;
	width: 110px;
}

textarea {
	min-width: 100%;  /* Most cases will overwrite with the above "halfwidth" */
	overflow-x: hidden;			/* Force Firefox to respect the rows attribute and not add 95% of an extra */
	resize: none;
}
textarea.readonly {
	cursor: default;
	font-size: 0.9em;
}

/* If we're using inline labels, we probably want inline fields */
.inlinelabel + input,
.inlinelabel + select {
	display: inline-block;
	margin: 0 0.25rem 0 0;
	min-width: 0;
}

ul.inlineradiolist li {
    margin: 0.5rem 0;
}

input.inlineradiobutton,
input.inlineradiobutton + label  {
	display: inline-block;
	margin: 0 0.25rem 0 0;
	min-width: 0;
}

input.date,
.formcontents input.date {
	min-width: 7rem;
	width: 7rem;
}
select.date,
.formcontents select.date {
	min-width: 8rem;
	width: 8rem;
}

input.time,
.formcontents input.time {
	min-width: 6rem;
	width: 6rem;
}
input.time.withUnitButtons {
	display: inline-block;
	margin: 0 0.25rem 0 0;
}
input.time.min,
input.time.hour,
.formcontents input.time.min,
.formcontents input.time.hour {
	display: inline-block;
	min-width: 2rem;
	vertical-align: middle;
	width: 2rem;
}

input.time.min {
	margin-left: 0.25em;
}

input.tiny,
.formcontents input.tiny {
	min-width: 3rem;
	width: 3rem;
}

/* For fields with a (popup) info icon next to it */
input.withPopup,
select.withPopup {
	display: inline-block;
	margin-right: 0.25rem;
}

/* Fieldsets and Groupers */
fieldset {
	border: none;
	margin: 0.25rem 0;
	padding: 0.25rem 0;
	min-width: 0;
}

fieldset.clearfieldset {
	margin: 0;
	padding: 0;
}

fieldset.halfwidth {
	width: 50%;
}

fieldset.inlinefieldset {
	display: inline-block;
	vertical-align: top;
}

fieldset [class^='segment'] {
	display: inline-block;
}

.segment2 {
	width: 2.5rem;
}
.segment3 {
	width: 3.25rem;
}
.segment4 {
	width: 4rem;
}
.segment5 {
	width: 4.75rem;
}

[class^='segment'] input {
	text-align: center;
	width: 100%;
}

[class^='segment'] .accessibleLabel {
	text-align: center;
}

/* Multi-Step Sliders */
.slider {
	max-width: none;
	position: relative;
	width: 1000%;
}
.slider.cardlist {
	width: 1000%;
}

.slider .stepContainer {
	display: inline-block;
	vertical-align: top;
	width: 10%;
}

/* Buttons */
a.button,
div.button,
input.button {
	border: none;
	box-shadow: none;
	cursor: pointer;
	display: block;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5rem;
	margin: 0.5rem 0;
	padding: 0.25rem 0.75rem;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	top: 0;
	white-space: normal; /* This allows button captions to have multiple lines */
}

input.button::-moz-focus-inner {
	margin-top: -1px;
	margin-bottom: -1px;
}

.button.disabled,
.button[disabled] {
	cursor: default;
}

a.button:hover,
a.button:focus {
	text-decoration: none;
}

.button.autowidth {
	display: inline-block;
	width: auto;
}

.button.tall {
	padding: 0.5rem 0.75rem;
}

.button.undo:before,
.button.clear:before {
	background: rgba(0, 0, 0, 0) none no-repeat scroll 0 0 / 1.5rem 1.5rem;
	content: "";
	display: inline-block;
	height: 1.5rem;
	padding: 0 0.25rem 0 0;
	vertical-align: bottom;
	width: 1.5rem;
}
.button.undo:before {
	background-image: url("../images/item_restore.png");
}
.button.clear:before {
	background-image: url("../images/eraser.png");
}

.button.withInstructions,
.button.withInstructions + p,
.button.withInstructions + span {
	display: inline-block;
	vertical-align: middle;
}

input.multi,
.button.multi,
.formbuttons .button,
input[type='submit'],
input[type='cancel'],
.section .button:only-child {
	display: inline-block;
	margin: 0 0.5rem 0 0;
	vertical-align: top;
	width: auto;
}
input.multi:first-child,
.button.multi:first-child {
	margin: 0 0.5rem 0 0;
}

input.multi.hidden:first-child ~ input.multi,
.button.multi.hidden:first-child ~ .button.multi {
    margin-left: 0;
}

input[type='submit'] {
	margin: 0 0.5rem 0 0;
}

input[type='cancel'] {
	margin: 0 0 0 0.5rem;
}

.section .button:only-child {
	margin: 0;
}

.formbuttons {
	margin: 0.5rem 0 0;
}
.formbuttons.topside {
	margin: 0.5rem 0;
}

.formbuttons .button:last-child ,
.section.formbuttons .button:last-child,
.section .formbuttons .button:last-child
{
	margin: 0;
}

#captchaForm .formbuttons input:first-of-type {
	margin-left: 0;
}

#captchaForm .formbuttons {
	margin-top: 0;
}

/* Ghost Inputs */
.ghostInput {
	margin: 0 0 0.25rem;
}
.ghostInput.compact {
	margin: 0;
}

.ghostInput.withPopup {
	display: inline-block;
	vertical-align: middle;
}

.ghostInput label,
.section .content .ghostInput label {
	display: block;
	font-size: 0.9rem;
	height: 2.5rem;
	line-height: 2.5rem;
	margin: 0 0.5rem -2.5rem;
	width: calc(100% - 1rem);
	
	transition: all .3s ease-in-out;
}

.ghostInput label.required:before {
	margin: 0 0 0 -0.5rem;
	
	transition: margin .3s ease-in-out;
}

.ghostInput label + input,
.ghostInput label + select {
	display: block;
	height: 2.5rem;
	margin: 0;
}
.ghostInput.withPopup label + input,
.ghostInput.withPopup label + select {
	padding-right: 2.2rem;
}

.ghostInput label + textarea {
	padding: 0.25rem 0.25rem 0.75rem; /* We'll need more padding up top later, so put some spare into the bottom while we're empty */
}

.ghostInput.ghosted label,
.section .content .ghostInput.ghosted label {
	font-size: 0.6rem;
	height: 1.25rem;
	line-height: 1.25rem;
	margin: 0 0.325rem -1.25rem;
	padding: 0;
	width: calc(100% - 0.65rem);
}

.ghostInput.ghosted label.required:before {
	margin: 0 -0.135rem 0 -0.315rem;
}

.ghostInput.ghosted input {
	padding: 0.875rem 0.25rem 0;
}

.ghostInput.ghosted select {
	padding: 0.75rem 0.25rem 0.125rem;
}

.ghostInput.ghosted textarea {
	padding: 0.875rem 0.25rem 0.125rem;
}

.ghostInput.compact + .ghostInput input {
	border-style: none solid solid;
	border-width: 0 1px 1px;
}

.formsection .formrow .ghostInput {
	margin: 0;
}

/* Counter-type inputs */
.counterInput {
	display: inline-block;
	pointer-events: none;
	width: auto;
}

.counterInput > * {
	vertical-align: top;
}

.counterInput:after,
.counterInput:before {
	background-color: #EAEAEA;
	border: 1px solid #CECECE;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	height: 1.5rem;
	line-height: 1.5rem;
	padding: 0.25rem;
	pointer-events: all;
	text-align: center;
	width: 1rem;
}
.counterInput:after {
	border-left: none;
	content: "+";
}
.counterInput:before {
	border-right: none;
	content: "\2212"; /* Minus is not the same as hyphen, especially in vertical alignment */
}

.counterInput input {
	margin: 0;
	pointer-events: all;
	text-align: center;
}
/* IE 11 hacks we have to do */
_:-ms-fullscreen, :root .counterInput {
	cursor: pointer;
}
_:-ms-fullscreen, :root .counterInput:after, :root .counterInput:before { 
	height: calc(1rem - 1px);
	line-height: 0;
	padding: 1rem 0.25rem 0;
}
_:-ms-fullscreen, :root .counterInput input {
	cursor: text;
}

/* Helptext */
.helptext {
	font-size: 0.8em; /* Need em rather than rem because ghost text might include helptext, and that's already smaller */
	line-height: 1em;
}
.formsection input + .helptext:not(:empty),
.formsection select + .helptext:not(:empty),
.formsection textarea + .helptext:not(:empty),
.formsection fieldset + .helptext:not(:empty),
.formsection .helptext + .helptext:not(:empty),
.formsection .popupiconcontainer + script + .helptext:not(:empty) {
	margin: -0.5rem 0 0.75rem;
	padding: 0 0.25rem;
}
.formsection .helptext.accessibleLabel:not(:empty) {
	margin-bottom: 0.25rem;
}

.helptext li {
	line-height: 1rem;
}

/* File Upload Control */
.uploaderbutton {
	display: inline-block;
	line-height: 1rem;
	position: relative;
	width: auto;
}

.uploaderbutton .button {
	display: inline-block;
	margin: 0 0.25rem 0 0;
	width: auto;
	z-index: 1;
}

.uploaderbutton .fileselector {
	border: none;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.uploaderbutton .alert {
	display: inline-block;
	margin: 0 0 0 0.25rem;
	width: auto;
}

.uploaderbutton .photoedit,
.uploaderbutton .photodelete {
	display: block;
	position: relative;
}

.uploaderbutton .photodelete {
	z-index: 10;
}

.uploaderbutton .photodelete img {
	background: none;
}

/* Errors, Alerts, Warnings */
.alert .yield {
	display: inline-block;
	height: 1.2rem;
	margin: 0 0.25rem 0 0;
	vertical-align: middle;
	width: 1.2rem;
}

.alert .yield + .errHolder {
	vertical-align: middle;
}

.alert.card {
	margin: 0 0 0.5rem;
	padding: 0.5rem;
	min-height: 4rem;
	text-align: center;
	width: 100%;
}

.alert.card img {
	display: block;
	height: 2.5rem;
	margin: 0 auto;
	width: 2.5rem;
}

/* Read-Only Forms */
.section .content label,
.section .content .label {
	display: block;
	line-height: 1rem;
	padding: 0;
	margin: 0.25rem 0 0; /* Small margin before a label+data pair */
	text-align: left;
	width: auto;
}
.section .content .inlinelabel {
	display: inline-block;
	line-height: 2rem;
	margin: 0 0.25rem 0 0;
}

.section .content .label + p,
.section .content .label + ul {
	display: block;
	margin: 0 0 0.5rem; /* Twice as much margin after a label+data pair. Match to margin on input,select,textarea above. */
	width: auto;
}

/* Misc */

#main .back {
	padding: 1.5rem 0 1rem;
	text-align: center;
}

#main .back .button {
	border-style: solid;
	border-width: 1px;
	display: inline-block;
	margin: 0;
	width: auto;
}

/*#region Form Validation*/
.messagedisplay .alert.validationmessage,
.messagedisplay {
	line-height: 1em;
	vertical-align: middle;
	min-height: 1.5rem;
	margin-top: 0;
}
.md_evisit #sendto {
	margin-bottom: 0;
}
.md_evisit  p.buttoncheck,
.md_echeckin p.button.buttoncheck,
.md_apptmake p.buttoncheck,
.md_medadvice textarea,
.md_medadvice select,
.md_refrequest  #referto,
.md_refrequest  #reason,
.md_refrequest  #message
{
	margin-bottom: 0;
}
.messagedisplay .alert.validationmessage .yield {
	margin-bottom: 0.25rem;
}
/*#endregion*/

.clearlabel {
	color: rgba(255, 255, 255, 0) !important;
	display: block !important;
	font-size: 0 !important;
	height: 0 !important;
	line-height: 0 !important;
	margin: 0 !important;
	opacity: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: relative !important;
	width: 0 !important;
}

.wrapLongWords {
	-ms-word-break: break-all;
	word-break: break-all;
}

#wrap .cssSwitcher[data-csstitle="Default"] {
	display: none;
}

/* Alerts and errors need to be inline-block instead because they have "* <clearlabel> <text>" layout */
.alert .clearlabel,
.clearlabel.srPause,
.clearlabel.inlinelabel,
[id*='error'] .clearlabel,
[class*='error'] .clearlabel,
.messageheader .clearlabel {
	display: inline-block !important;
}

.clearlabel.required {
	opacity: 1 !important;
	overflow: inherit !important;
}

.clearradio {
	left: auto;
	opacity: 0;
	position: absolute;
	top: auto;
	width: auto;
	z-index: -1;
}

/* Hidden means hidden. The only way you're going to get this element to show up is removing this class. $.show() will not help you. */
.hidden {
	display: none !important;
}
/* This class is *ONLY* for things you intend to call $.show() on. DO NOT USE IT ELSEWHERE */
.jqHidden {
	display: none;
}

.messagedisplay.invisible {
	color: rgba(0, 0, 0, 0);
	display: none;
	height: 0;
	line-height: 0;
	visibility: hidden;
	width: 0;
}

.left {
	text-align: left;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}

.top {
	display: inline-block;
	vertical-align: top;
}
.middle {
	display: inline-block;
	vertical-align: middle;
}
.bottom {
	display: inline-block;
	vertical-align: bottom;
}

.bold {
	font-weight: bold;
}
.italic {
	font-style: italic;
}
.underline {
	text-decoration: underline;
}

.alert {
	font-size: 0.9rem;
	line-height: 1rem;
}

:not(tr):not(td).nodata:not(:empty) {
	display: block;
	font-size: 1.25rem;
	padding: 1.5rem 0.5rem;
	text-align: center;
	width: 100%;
}

#sidebar .nodata:not(:empty) {
	font-size: 1rem;
}

#sidebar .externalicon {
	width: 1rem;
	height: 1rem;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0.25rem 0 0;
}

/* Pretty checkboxes */
.prettycheck.container {
	position: relative;
}

input.prettycheck {
	display: inline-block;
	font-size: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 0;
}

input.prettycheck + label {
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	margin: 0 0 0 calc(1.2rem + 2px);
	padding: 0.25rem 0;
	position: static;
	text-align: left;
	text-indent: calc(-1.2rem - 2px);
	vertical-align: top;
	width: auto;
}

.section .content input.prettycheck + label {
	display: inline-block;
	margin: 0 0 0 calc(1.2rem + 2px);
}

input.prettycheck + label:before {
	border: 1px solid #B3B3B3;
	border-radius: 2px;
	box-shadow: inset 0px 1px 1px #AAA;
	content: "";
	display: inline-block;
	height: 0.9rem;
	line-height: 0.85rem;
	margin: 0 0.3rem -0.1rem 0;
	position: relative;
	text-indent: 0;
	vertical-align: top;
	width: 0.9rem;
}

.prettycheck:checked + label:before {
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIYEjQPAcoESgAAAKVJREFUSMft1rENgzAQQFGKbAAsEUoaZxyycYCKDWhQFoCfIk4Tgm2k8yEF//70Gp91WZZKCQRcjkBL4AHctdGOd7MK/oWigm+gnyag0EafwC2hx6J7l10KbYAWKLXR2Q71PjwGig+XQnO71L9a4aKvFzB2yIlbtBddmQD8Ko4G4osDNRKfgQuPg+7EZdFAPA7qweOiG/gI1Jq3kwEGoDrHifpXvQANql+AlGeZnQAAAABJRU5ErkJggg==") no-repeat scroll center center / contain;
}

.prettycheck:disabled + label {
	cursor: default;
}
.prettycheck:disabled:checked + label:before {
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIYEwk7S1TSdgAAAEhQTFRFAAAAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY////Fo82tgAAABZ0Uk5TAAQTFBUqKzM4OWFi0dLT1Nrp7vD9/tCeZTMAAAABYktHRBcL1piPAAAAcUlEQVQoz83S0Q5AMAwF0I1iDGOb/v+nSmoTia4PJKKPPS+9zVXqj6NFhdFKOmO0kmLZSRF9LWnoP1At6jCBpBEdSIrZ71p52pBzN5uQHRyXKHvj+LzJt0PN7RPJC3pxVk8vaPKikq+d0C6ztC+a+2R2erQPOW3XocEAAAAASUVORK5CYII=") no-repeat scroll center center / contain;
}

input.prettycheck:not(:disabled):focus + label,
input.prettycheck:not(:disabled):hover + label,
input.prettycheck:not(:disabled) + label:hover {
	text-decoration: underline;
}

.prettycheck.container + .helptext {
	padding-left: calc(1.2rem + 2px);
	margin-top: -0.25rem;
}

/* Toggle Buttons */
.togglelist li {
	display: inline-block;
	vertical-align: top;
	width: auto;
}

.tbContainer { /* Used to help position the clearradios for the toggle buttons */
	display: inline-block;
	position: relative; 
	vertical-align: top;
	width: auto;
}

label.togglebutton[for],
input.buttoncheck + label.buttoncheck {
	background-color: #fff;
	border: none;
	border-radius: 0.125rem;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	display: inline-block;
	line-height: 1.5rem;
	position: relative;
	padding: 0.25rem 0.75rem;
	vertical-align: top;

	transition-duration: 0.1s;
	transition-property: top, box-shadow;
}

label.togglebutton[for] {
	margin: 0 0.25rem 0.5rem 0;
	min-width: 2.75rem;
	text-align: center;
	width: auto;
}
input:checked + label.togglebutton[for],
input.buttoncheck:checked + label.buttoncheck {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 2px 1px rgba(0, 0, 0, 0.13);
	top: 1px;
}
label.togglebutton[for]:hover,
input:focus + label.togglebutton[for] {
	box-shadow: 0 2px 3px 1px rgba(0,0,0,0.13);
}
input:focus + label.togglebutton[for],
input + label.togglebutton[for]:hover {
	text-decoration: underline;
}
input:checked + label.togglebutton[for]:hover,
input:checked:focus + label.togglebutton[for] {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 2px 3px rgba(0, 0, 0, 0.15);
}

input.togglebutton.clearradio {
	display: inline-block;
	margin: 0;
}

/* Buttoncheck */
.bcList .bcItem {
	display: inline-block;
	margin: 0 0.25rem 0 0;
	vertical-align: top;
	width: auto;
}

p.buttoncheck {
	box-shadow: none;
	color: inherit;
	display: inline-block;
	margin: 0 0.25rem 0.5rem 0;
	padding: 0;
	position: relative;
	text-transform: none;
	white-space: normal;
	width: auto;
}

.section .content p.buttoncheck { /* No, really, I meant what I just said */
	display: inline-block;
	width: auto;
}

.section .content .forlist p.buttoncheck {
	margin: 0 0 0.2rem;
}

p.buttoncheck.alertborder {
	border: none;
}

input.buttoncheck {
	display: inline-block;
	font-size: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 0;
}

input.buttoncheck + label.buttoncheck {
	font-size: 1rem;
	margin: 0;
	text-align: left;
	width: 100%;
}
input.buttoncheck + label.buttoncheck:before {
	background-attachment: scroll;
	background-image: none;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	
	border: 1px solid #B3B3B3;
	border-radius: 2px;
	box-shadow: inset 0px 1px 1px #AAA;
	content: "";
	display: inline-block;
	height: 0.9rem;
	line-height: 0.85rem;
	margin: 0.25rem 0.3rem -0.1rem 0;
	position: relative;
	text-indent: 0;
	vertical-align: top;
	width: 0.9rem;
}
input.buttoncheck:checked + label.buttoncheck:before {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIYEjQPAcoESgAAAKVJREFUSMft1rENgzAQQFGKbAAsEUoaZxyycYCKDWhQFoCfIk4Tgm2k8yEF//70Gp91WZZKCQRcjkBL4AHctdGOd7MK/oWigm+gnyag0EafwC2hx6J7l10KbYAWKLXR2Q71PjwGig+XQnO71L9a4aKvFzB2yIlbtBddmQD8Ko4G4osDNRKfgQuPg+7EZdFAPA7qweOiG/gI1Jq3kwEGoDrHifpXvQANql+AlGeZnQAAAABJRU5ErkJggg==");
}

input.buttoncheck:disabled + label.buttoncheck {
	cursor: default;
	font-weight: normal;
}
input.buttoncheck:disabled:checked + label.buttoncheck:before {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIYEwk7S1TSdgAAAEhQTFRFAAAAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY////Fo82tgAAABZ0Uk5TAAQTFBUqKzM4OWFi0dLT1Nrp7vD9/tCeZTMAAAABYktHRBcL1piPAAAAcUlEQVQoz83S0Q5AMAwF0I1iDGOb/v+nSmoTia4PJKKPPS+9zVXqj6NFhdFKOmO0kmLZSRF9LWnoP1At6jCBpBEdSIrZ71p52pBzN5uQHRyXKHvj+LzJt0PN7RPJC3pxVk8vaPKikq+d0C6ztC+a+2R2erQPOW3XocEAAAAASUVORK5CYII=");
}

p.buttoncheck:hover input.buttoncheck:not(:disabled) + label.buttoncheck,
p.buttoncheck input.buttoncheck:not(:disabled):focus + label.buttoncheck {
	text-decoration: underline;
}

/* Popup Instructions */
.popupiconcontainer {
	cursor: auto;
	display: inline-block;
	position: relative;
	vertical-align: middle;
	width: auto;
}
table .popupiconcontainer,  div .popupiconcontainer{
	margin: 0 0 0 0.25rem;
}

.ghostInput.withPopup + .popupiconcontainer {
	margin-left: -1.7rem;
}

.popupinstructionsicon {
	cursor: default;
	display: block;
}
.popupinstructionsicon:hover {
	text-decoration: none;
}
.popupinstructionsicon:after {
	border-color: transparent transparent transparent #FFF;
	border-style: solid;
	border-width: 1rem 0 0 1rem;
	box-shadow: -1px 1px 1px 0 #999;
	content: "";
	display: none;
	height: 0;
	position: absolute;
	width: 0;
	z-index: 1000;
}
.popupinstructionsicon.onRight.showPopup:after {
	display: block;
	left: calc(100% + 2px);
	top: calc((100% - 1rem) / 2);
	transform: rotate(45deg);	
}
.popupinstructionsicon.onBottom.showPopup:after {
	display: block;
	left: calc(50% - 0.5rem);
	top: calc(100% + 2px);
	transform: rotate(135deg);
}
.popupinstructionsicon.onLeft.showPopup:after {
	display: block;
	left: calc(-0.5rem - 3px);
	top: calc((100% - 1rem) / 2);
	transform: rotate(225deg);
}
.popupinstructionsicon.onTop.showPopup:after {
	display: block;
	left: calc(50% - 0.5rem);
	top: calc(-0.25rem - 10px);
	transform: rotate(315deg);
}

.popupiconcontainer .popupinstructionsicon {
	line-height: 0;
}

.popupiconcontainer .popupinstructionsicon > * {
	line-height: normal;
}

.popupiconcontainer .popupinstructionsicon > img {
	height: 1.2rem;
	margin: 0;
	width: 1.2rem;
}

.popupiconcontainer .popupInstructions {
	border: 1px solid #CCC;
	box-shadow: 0 3px 4px 0 rgba(0,0,0,0.6);
	font-size: 1rem;
	font-weight: normal;
	margin: 0;
	min-height: 2.25rem;
	padding: 0.25rem;
	position: absolute;
	text-align: left;
	width: 400px;
	z-index:999;
}
#sidebar .popupiconcontainer .popupInstructions {
	width: 250px;
}
.popupinstructionsicon.onRight + .popupInstructions {
	margin-left: 9px;
}

.popupinstructionsicon.onLeft + .popupInstructions {
	margin-left: -1px;
}

.popupinstructionsicon.onBottom + .popupInstructions {
	margin-top: 9px;
}

.popupinstructionsicon.onTop + .popupInstructions {
	margin-top: -4px;
}

.popupiconcontainer .popupInstructions .header {
	padding-top: 0;
}
.popupiconcontainer .popupInstructions .header:empty {
	padding: 0;
}

/* Lightbox */
.lb_content {
	background: #fff linear-gradient(to bottom, rgba(250, 250, 250, 0.98) 0%, rgba(245, 245, 245, 0.98) 100%) repeat scroll 0 0;
	box-shadow: 0 0.5rem 5rem 0 rgba(0, 0, 0, 0.8);
	display: none;
	left: 50%;
	margin: 0 0 0 -30%;
	padding: 0.75rem 1.25rem;
	outline: none;
	position: absolute;
	top: 0;
	width: 60%;
	z-index: 3001;
}

.lb_content .back {
	padding: 0.5rem 0;
	text-align: center;
}

/* My1Chart */
.externalorgnotice,
.externalorgnotice:before {
	display: inline-block;
	vertical-align: middle;
}

.externalorgnotice {
	padding: 0 0 0 1.25rem;
}
.externalorgnotice:before {
	background: rgba(0, 0, 0, 0) url("../images/my1chartlogo.png") no-repeat 0 0 / 1rem 1rem;
	content: "";
	height: 1.2rem;
	margin: 0 0 0 -1.25rem;
	padding: 0 0.25rem 0 0;
	width: 1rem;
}

/* Terms & Conditions (prelogin, E-Visit, etc.) */
.terms {
	background: #FFF none no-repeat scroll 0 0;
	margin: 1rem 10%;
	min-height: 10rem;
	padding: 0.5rem;
	width: 80%;
	height: 360px;
	overflow: auto;
}

.hilite {
    background-color: yellow;
}

.ajaxspinnergif, .jsdisabled {
    background-color: rgba(127, 127, 127, 1);
    border-radius: 15px;
    box-sizing: border-box;
    color: #ddd;
    left: 50%;
    margin: -37px 0 0 -75px;
    padding: 30px 10px;
    position: fixed;
    text-align: center;
    top: 50%;
    width: 150px;
    z-index: 1010;
}

.ajaxspinnergif a {
    color: #dddddd;
}

.ghostInput input::-webkit-input-placeholder {
	color: transparent;
}

.ghostInput input::-moz-placeholder {
	color: transparent;
}

.ghostInput input:-ms-input-placeholder {
	color: transparent;
}

.ghostInput input:focus::-webkit-input-placeholder {
	color: rgba(0,0,0,0.5);
}

.ghostInput input:focus::-moz-placeholder {
	color: rgba(0,0,0,0.5);
}

.ghostInput input:focus:-ms-input-placeholder {
	color: rgba(0,0,0,0.5);
}

/*style for when javscript not enabled*/
.nojs #wrap {
	opacity: 1;
}

.nojs #content {
	opacity: 1;
	top: 200px;
	z-index: 0;
}

.nojs #main {
	min-height: 400px;
}

body.nojshelp {
	display: block !important;
}

.nojshelp #wrap {
	opacity: 1;
}

/* Photos */
.userPhoto {
	background: rgba(0, 0, 0, 0) url('../images/ProxySilhouette.png') no-repeat scroll center center / cover;
	border-radius: 100%;
	border-style: solid;
	border-width: 1px;
	display: block;
	height: 2.5em;
	overflow: hidden;
	width: 2.5em;
}

/* Account Badges */
.accountBadges {
	margin: 0.5rem 0 0;
}
.accountBadges.selectable {
	
}

.accountBadges .accountBadge {
	background: #FFF none;
	border-radius: 1.75em 0 0 1.75em;
	box-shadow: 0 4px 4px -1px rgba(0, 0, 0, 0.2);
	display: inline-block;
	height: 3rem;
	margin: 0 1rem 1rem 0;
	max-width: 14rem;
	min-width: 12rem;
	padding: 0.25rem 0.5rem 0.25rem 3.25em;
	vertical-align: top;
	width: auto;
}
.accountBadges .accountBadge.flat {
	border: 1px solid #EAEAEA;
	box-shadow: none;
}
.accountBadges.selectable .accountBadge {
	box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1);
	cursor: pointer;
	
	transition-duration: 0.1s;
	transition-property: top, box-shadow;
}
.accountBadges.selectable .accountBadge.selected {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 2px 1px rgba(0, 0, 0, 0.13);
	top: 1px;
}
.accountBadges.selectable .accountBadge:focus,
.accountBadges.selectable .accountBadge:hover {
	box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 0.13);
}
.accountBadges.selectable .accountBadge:focus .accountName,
.accountBadges.selectable .accountBadge:hover .accountName {
	text-decoration: underline;
}
.accountBadges.selectable .accountBadge.selected:hover,
.accountBadges.selectable .accountBadge.selected:focus {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 2px 3px rgba(0, 0, 0, 0.15);
}

.accountBadges.selectable .accountBadge.selected {
	background-color: #BFE1FF;
}

.accountBadges .accountBadge .userPhoto {
	display: inline-block;
	margin: 0 0.5em -2.5em -3em;
	vertical-align: top;
}

.accountBadges .accountBadge .accountName {
	display: inline-block;
	margin: 0 0 0.125rem;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: top;
	white-space: nowrap;
}

/* Selection Toggles */
.showIfSelected {
	visibility: hidden;
}

.selected .showIfSelected {
	visibility: visible;
}

/* Pre-Checkmark */
.preCheckmark:before {
	background: rgba(0, 0, 0, 0) url("../images/checkmark_large.png") no-repeat scroll center center /cover;
	content: "";
	display: inline-block;
	height: 1em;
	margin: 0 0.25rem 0 0;
	vertical-align: top;
	width: 1.25em;
}

/* Lists */
.list.collapsible {
	background-color: #FFF;
	box-shadow: 0 4px 4px -1px rgba(0, 0, 0, 0.2);
}

.list.collapsible > * {
	box-shadow: 0 4px 4px -5px rgba(0, 0, 0, 0.3);
	padding: 0.5rem 0.75rem;
}
.list.collapsible > *:first-child {
	padding-top: 0.75rem;
}
.list.collapsible > *:last-child {
	box-shadow: none;
	padding-bottom: 0.75rem;
}

.list.collapsible .collapsed {
	cursor: pointer;
}

.list.collapsible .addRow {
	background-color: #F2F2F2;
}

/* Arabic language CSS Styles */
html[lang="ar"],
html[lang="ar"] body
{
	line-height: 1.75rem;
}

html[lang="ar"] .helptext,
html[lang="ar"] .subtle,
html[lang="ar"] .alert
{
	line-height: 1.25rem;
}

html[lang="ar"]
{
	font-size: 15pt;
}

html[lang="ar"],
html[lang="ar"] input,
html[lang="ar"] select,
html[lang="ar"] textarea,
html[lang="ar"] optgroup {
	font-family: "Geeza Pro", Arial, sans-serif;
}
